const Model = require('./model')
const BaseMongo = require('../base')
const { stateKeys } = require('../base/model')

/**
 * 学习时间轴
 */
class StudyTimeLineMongo extends BaseMongo{

	constructor () {
		super()
	}

	/**
	 * 查询数据列表
	 * @param data type: 类型 searchKey: 关键字 page: 页码 count:个数
	 * @returns {Promise<void>}
	 */
	static findAll() {
		const model = Model.find({ $or: [
					{stateKey: stateKeys.NORMAL},
				{stateKey: {$exists: false}}
			]})
		model.sort({'date': -1})
		return model.exec()
	}

	/**
	 * 更新数据
	 * @param data 更新的数据
	 * @returns {Promise<*>}
	 */
	static update(data) {
		return Model.updateOne(
			{_id: this.objId(data.id)},
      this.getJson(data, ['title', 'date', 'content']))
	}
}

/**
 * 设置当前模型
 */
StudyTimeLineMongo.model = Model

/**
 * 添加字段数组
 * @type {Array}
 */
StudyTimeLineMongo.fieldArr = ['title', 'date', 'content']

module.exports = StudyTimeLineMongo
